/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package desarrollosoft.ghce.servicio.implementaciones;

import desarrollosoft.ghce.servicio.interfaces.IParserExcepciones;
import org.springframework.stereotype.Service;

/**
 *
 * @author ariel
 */
@Service("parserExcepcionesProfesional")
public class ParserExcepcionesProfesional implements IParserExcepciones {

    @Override
    public String parsear(String textoExcepcion) {
        if (textoExcepcion.contains("Column 'apellido' cannot be null")) {
            return "Recuerde ingresar el Apellido";
        }
        if (textoExcepcion.contains("Column 'contrasenia' cannot be null")) {
            return "Recuerde ingresar un Nombre de Usuario";
        }
        if (textoExcepcion.contains("Column 'mail' cannot be null")) {
            return "Recuerde ingresar un mail";
        }
        if (textoExcepcion.contains("'nombre' cannot be null")) {
            return "Recuerde ingresar el nombre";
        }
        if (textoExcepcion.contains("Column 'numeroDocumento' cannot be null")) {
            return "Recuerde ingresar el Número de Documento";
        }
        if (textoExcepcion.contains("Column 'rol' cannot be null")) {
            return "Recuerde seleccionar el Rol";
        }
        if (textoExcepcion.contains("'sexo_id' cannot be null")) {
            return "Recuerde seleccionar el sexo";
        }
        if (textoExcepcion.contains("Column 'telefono' cannot be null")) {
            return "Recuerde ingresar un teléfono";
        }
        if (textoExcepcion.contains("Column 'tipoDocumento_id' cannot be null")) {
            return "Recuerde seleccionar un Tipo de Documento";
        }
        if (textoExcepcion.contains("Duplicate entry") && textoExcepcion.contains("for key 'nombreUsuario'")) {
            return "El nombre de usuario ya esta en uso, ingrese otro";
        }
        if (textoExcepcion.contains("Duplicate entry") && textoExcepcion.contains("for key 'numeroDocumento'")) {
            return "El Número y Tipo de Documento esta repetido, verifique";
        }
        if (textoExcepcion.contains("Duplicate entry") && textoExcepcion.contains("for key 'mail'")) {
            return "El mail esta repetido, verifique";
        }
        if (textoExcepcion.contains("java.lang.Exception:") && textoExcepcion.contains("mail")) {
            return textoExcepcion.substring(20);
        }
        return "Excepcion desconocida: " + textoExcepcion;
    }
    
}
